package com.foreknow.demo06;

/**
 * 子类构造方法的特点：
 * 子类会调用父类构造方法的时候有以下三种情况
 *  1.如果父类和子类都没有显式的声明构造方法，是没有问题的。
 *  2.如果父类没有显式的声明构造方法,而子类显式的声明了构造方法
 *  3.如果父类中显示的声明了一个构造方法,那么子类也要显式的声明一个构造方法
 *
 *  总结：
 *  子类一定要在构造方法的第一行代码中调用父类的构造方法，如果父类中有有默认的无参数的构造方法，那么
 *  子类super()可以省略的（实际不是默认调用无参数的构造器）
 *  调用父类中的构造器语法: super(参数列表)
 *
 *  super关键字
 *  可以访问父类中的(属性，方法，构造器)
 *  属性：super.属性名
 *  方法：super.方法名
 *  构造器： super(参数列表)
 *
 *  this关键字
 *  表示调用对象自身的内容(属性，方法 ，构造方法)
 *  属性：this.属性
 *  方法：this.方法名(参数列表)
 *  构造器: this(参数列表)
 */
public class Test {
  public static void main(String[] args) {
    B b = new B(); //调用了子类的构造器，会输出内容
  }
}
